【Cloud Integration Hub】CIHでファイル取り込みタスクによるパブリケーションを試してみた
データ事業本部の川中子(かわなご)です。
今回はInformaticaで提供されている Cloud Integration Hub (以降CIHと略します)について見ていきます。
本記事の執筆では、こちらのドキュメントを参考にしてます。
また、CIHの概要については以下を公式紹介ページをご参照下さい。
はじめに
今回はCIHにおいてパブリケーション/サブスクリプションを開発する際の選択肢である、
パブリケーション方法 について見ていきます。
各パブリケーション方法の概要は以下になります。
- データ統合タスクによってデータをパブリッシュ: データ統合タスクを起動してトピックへのデータ転送や、トピックからのデータ取得する方法。1タスクで複数トピックとデータ連携する複合パブリケーション/サブスクリプションを使用する事もできる。
- ファイル取り込みタスクでファイルをパブリッシュ: 事前に設定したSecureAgent上のディレクトリを介してデータを連携できる方法。テーブルへのインサートなどはなく、ファイルそのものをファイル取り込みタスクで移動させる。
- APIを使用してデータをパブリッシュ: 発行されるURLへのPOSTをトリガにして起動する方法。テーブルへ格納するデータをbodyに入れてPOSTすることでパブリッシュができる。
今回は上記のうち、ファイル取り込みタスクを利用した方法について見ていきます。
他2つの方法については以下の記事でそれぞれ解説されています。
検証
ファイルストアパブリケーションリポジトリの設定
まずはファイルの経由地となるファイルストアパブリケーションリポジトリを設定します。
CIH画面のホーム右上の「セットアップ」を開きます。
「ファイルストアパブリケーションリポジトリの場所」にファイル経由地のパスを指定します。
なおこのリポジトリに設定するディレクトリは、SecureAgentがアクセス権限を持っている必要があります。
この設定が正常に保存されると、指定したディレクトリ下に組織ID名のフォルダが作成されます。
アクセス権限を持っていないディレクトリを指定した場合には、正常に保存することができません。
アセットの準備
今回の検証用に作成したアセットの一覧はコチラになります。
ファイル取り込みタスク
まずはCDIの画面で、ファイル取り込みタスクを2つ準備します。
CIHのトピックに接続する部分は、接続タイプで「Cloud Integration Hub」を選択します。
- パブリケーション用タスク:ターゲットに「Cloud Integration Hub」を設定
- サブスクリプション用タスク:ソースに「Cloud Integration Hub」を設定
ちなみに今回作成したファイル取り込みタスクは、以下のS3フォルダ上で動くように設定されています。
sample.csv
をdone/
にアーカイブしつつ、move_to/
に移動するというタスクです。
CIHアセット
CIH側で作成するアセットは以下の4つになります。
- アプリケーション
- トピック
- パブリケーション
- サブスクリプション
アプリケーションの作成方法は別記事(再掲)で解説があるので、本記事では割愛させて頂きます。
まずはトピックを作成していきます。
パブリケーションリポジトリタイプで「ファイルストア」を設定し、あとは全てデフォルトです。
次にパブリケーションを作成します。
パブリケーション方法に「ファイル取り込みタスクでファイルをパブリッシュ」を設定し、
タスクには上記で作成したパブリケーション用のファイル取り込みタスクを設定します。
サブスクリプションの設定についても、パブリケーションとほぼ同じ設定方法です。
実行
アセットが準備できたので、CIHの画面からパブリケーションを手動で実行してみます。
イベント画面を見てみると、パブリケーション/サブスクリプションの正常終了が確認できます。
ファイルストアパブリケーションリポジトリとして設定したディレクトリを確認すると、
設定時に自動で作成された組織ID名のフォルダ配下に、以下のように出力されます。
組織IDフォルダ > トピック名 > 日付 > イベントID > ファイル
ファイル取り込みタスクが実行された後のS3フォルダ構成を見てみると、
ファイルストアパブリケーションリポジトリと同様なフォルダ構成になっています。
まとめ
今回はCIHのパブリケーション/サブスクリプションの方法から、
ファイル取り込みタスクを用いた方法について仕様の確認を行いました。
以下に検証して分かった内容をまとめてみます。
-
データではなく ファイル単位で連携したい場合 にはファイル取り込みタスクを利用する
-
事前に ファイルストアパブリケーションリポジトリの設定が必要 になる
- 指定するディレクトリは、 SecureAgentのアクセス権を持っている必要 がある
- セットアップが正常に終了した時点で、 ディレクトリ配下に組織ID名のフォルダが作成 される
-
ファイル取り込みタスクで、それぞれ 接続タイプに「Cloud Integration Hub」を設定 する
- ファイル取り込みタスクでピックアップ後の削除を設定 すれば、ディレクトリにファイルを残さない
-
「 組織IDフォルダ > トピック名 > 日付 > イベントID > ファイル 」の構成で出力される
次回はAPIによるパブリケーション/サブスクリプションについて記事を書きたいと思います。
以上、CIH開発や導入検討の参考になれば幸いです。